#pragma once

#include "scene_object.h"

namespace ray_tracing
{
	class plane_t final
		: public scene_object_t
	{
		friend class scene_t;
	private:
		plane_t(scene_object_t* in_parent, const vec3f& normal, float D, material_t* in_material);
		collision::collision_info_t intersect_with(const ray3f& ray, hit_param param) override;
	private:
		plane3f math_plane;
	};
}